<?php
require_once 'DatabaseManager/DatabaseManager.php';
/**
 * Hält Daten, die jedes Objekt
 * in der Datenbank haben muss.
 *
 * @author tpr
 */
abstract class DBObject 
{
    protected $id, $name;
    
    public function getID()
    {
        return $this->id;
    }
    
    public function setName($name)
    {
        if (is_string($name))
        {
           $this->name = $name; 
        }       
    }
    
    public function getName()
    {
        return $this->name;
    }
    
    public function existsInDatabase($db_table)
    {
        $statement = 'SELECT COUNT(*) AS CNT FROM ' . $db_table . 
                     ' WHERE NAME = \'' . $this->name . '\' LIMIT 1';
        
        $dbMan = new DatabaseManager();
        $dbMan->connect();
        $object = $dbMan->execSQL($statement);
        $dbMan->disconnect();
        
        if ($object[0]->CNT > 0)
            return true;
        else
            return false;
    }
    
    /*
     * Erstellt ein Objekt in der Datenbank.
     */
    abstract public function createObject();

    /*
     * Speichert ein Objekt in der Datenbank.
     */
    abstract public function saveObject();
    
    /*
     * Lädt ein Objekt aus der Datenbank.
     * Über die ID.
     */
    abstract public function loadObjectByID($id);
}
?>